//
//  MoodExt.swift
//  imprint
//
//  Created by 小柠檬🍋 on 2025/2/4.
//

import Foundation

//心情处理
class MoodExt{
    
    //心情图标
    static func getMoodRes(_ moonType: Int) -> ImageResource {
        switch moonType{
        case IMoodType.GREEN.rawValue,
            IMoodType.GREEN2.rawValue,
            IMoodType.GREEN3.rawValue:
                .homeIconMoodHappy
        case IMoodType.RED.rawValue,
            IMoodType.RED2.rawValue,
            IMoodType.RED3.rawValue:
                .homeIconMoodAngry
        case IMoodType.BLUE.rawValue:
                .homeIconMoodSad
        default:
                .homeIconMoodNormal
        }
    }
    
    //根据文字获取心情
    static func getMood(content: String) -> Int {
        var values = IMoodType.YELLOW3.rawValue
        if let emotionsMap = configManager.getConfig().moodConfig {
            // 初始化情绪值累加器
            var emotionValueCounts: [Int: Int] = [:]
            // 遍历所有情绪名称
            for emotion in emotionsMap.keys {
                // 检查情绪名称是否存在于内容中
                guard content.contains(emotion), !emotion.isEmpty else { continue }
                
                // 获取情绪首字母并统计出现次数
                let firstChar = emotion.first!
                let count = content.filter { $0 == firstChar }.count
                
                // 获取对应的情绪值并累加
                if let emotionValue = emotionsMap[emotion] {
                    emotionValueCounts[emotionValue] = (emotionValueCounts[emotionValue] ?? 0) + count
                }
            }
            
            // 找出出现次数最多的情绪值
            if let maxEntry = emotionValueCounts.max(by: { $0.value < $1.value }) {
                showLog("出现次数最多的情绪值是: \(maxEntry.key)，出现次数为: \(maxEntry.value)")
                values = maxEntry.key
            } else {
                showLog("没有找到匹配的情绪值。")
            }
            
            return values
        }
        
        return values
    }
}
